hysop.backend.device.codegen.symbolic.expr module¶
- class hysop.backend.device.codegen.symbolic.expr.BuiltinFunctionCall(ctype, fname, *fargs)[source]¶
Bases:
TypedExpr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.ComplexFloatingPointConstant(ctype, value)[source]¶
Bases:
NumericalConstant
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.FloatingPointConstant(ctype, value)[source]¶
Bases:
NumericalConstant
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.FunctionCall(ctype, fn, fn_kwds)[source]¶
Bases:
TypedExpr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.IfElse(conditions, all_exprs, else_exprs=None)[source]¶
Bases:
Expr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.IntegerConstant(ctype, value)[source]¶
Bases:
NumericalConstant
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.NumericalConstant(ctype, value)[source]¶
Bases:
TypedExpr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.OpenClAssignment(ctype, var, op, rhs)[source]¶
Bases:
TypedExpr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.OpenClBool(expr)[source]¶
Bases:
TypedExpr
Convert a scalar boolean condition (ie. a int in OpenCL) to a compatible vector boolean condition (ie. all bits set) prior to vectorization. Also force min integer rank.
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.OpenClCast(ctype, expr)[source]¶
Bases:
TypedExpr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.OpenClConvert(ctype, expr)[source]¶
Bases:
TypedExpr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.OpenClIndexedVariable(ctype, var, index)[source]¶
Bases:
OpenClVariable
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.OpenClPrinter(typegen, codegen, settings={}, **kwds)[source]¶
Bases:
C99CodePrinter
- class hysop.backend.device.codegen.symbolic.expr.OpenClVariable(ctype, var, *args)[source]¶
Bases:
TypedExpr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.Return(expr)[source]¶
Bases:
Expr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.TypedExpr(ctype, *args)[source]¶
-
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.TypedExprWrapper(ctype, expr)[source]¶
Bases:
TypedExpr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.TypedI(*args, **kwds)[source]¶
Bases:
object
- property basetype¶
- property btype¶
- property components¶
- property dtype¶
- property is_complex¶
- property is_fp¶
- property is_integer¶
- property is_positive¶
- property is_signed¶
- property is_unsigned¶
- class hysop.backend.device.codegen.symbolic.expr.TypedSymbol(ctype, **kwds)[source]¶
-
Symbols are identified by name and assumptions:
>>> from sympy import Symbol >>> Symbol("x") == Symbol("x")
True >>> Symbol(“x”, real=True) == Symbol(“x”, real=False) False
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.UpdateVars(srcs, dsts, ghosts)[source]¶
Bases:
Expr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.VLoad(ctype, ptr, offset, dst=None, n=1, **opts)[source]¶
Bases:
TypedExpr
- default_assumptions = {}¶
- class hysop.backend.device.codegen.symbolic.expr.VLoadIf(cond, scalar_cond, ptr, offset, dst, n, default_value, **opts)[source]¶
Bases:
VLoad
- default_assumptions = {}¶